<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="jquery-3.5.1.min.js" type="text/javascript" charset="utf-8"></script>
		<style type="text/css">
			#form{
				width: 300px;
				height: 200px;
				text-align: center;
				border-radius: 20px;
				background-color: #79E4ED;
				margin: 50px auto;
			}
			#name{
				margin-top: 50px;
			}
			#tdate{
				width: 170px;
			}
		</style>
	</head>
	<body>
		<form id="form">
			<input type="text" name="name" placeholder="书本名称" id="name"/></br>
			<input type="text" name="price" placeholder="单价"/></br>
			<input type="date" name="tdate" placeholder="出版日期" id="tdate"/></br>
			<br>
			<button type="button" onclick="save()">保存</button>
		</form>
		<script type="text/javascript">
			//判断是添加还是编辑
			let editItem = JSON.parse(sessionStorage.getItem("item"));
			if(editItem) {
				$("input[name='name']").val(editItem.name);
				$("input[name='price']").val(editItem.price);
				$("input[name='tdate']").val(editItem.tdate);
			}

			//获取id的最大值，然后进行+1
			function maxId(arr) {
				if(arr instanceof Array) {
					if(arr.length === 0) {
						return;
					}
					let max = arr[0];
					for(let item of arr) {
						if(max.id < item.id) {
							max = item;
						}
					}
					return max.id;
				}
			}
			
			function save() {
				let name = $("input[name='name']").val();
				let price = $("input[name='price']").val();
				let tdate = $("input[name='tdate']").val();

				let obj = {
					id: editItem ? editItem.id : 1,   
					name: name,
					price: price,
					tdate: tdate,
					count: editItem ? editItem.count : 1,
					account: sessionStorage.getItem("account")
				}
				
				//获取数组
				let data = localStorage.getItem("data");
				if(data) {
					data = JSON.parse(data);
					//判断书名是否重复
					for(let index in data) {
						let item = data[index];
						//判断登录名
						if(sessionStorage.getItem("account") !== item.account) {
							continue;
						}
						//判断是编辑还是添加书籍，判断书名是否重复
						if(editItem) {
							//编辑
							if(editItem.name !== name && item.name === name) {
								alert("书名不能重复");
								return;
							}
						}else{
							//添加
							if(item.name === name) {
								alert("书名不能重复");
								return;
							}
						}
					}
					//判断是编辑还是添加书籍，如果是编辑的话，就显示在同一行，如果是添加，则添加新的一行显示
					if(editItem) {
						let index = sessionStorage.getItem("index");
						data.splice(index, 1, obj)
					}else {
						obj.id = maxId(data) + 1;
						data.push(obj);//添加
					}
					
					//放回去
					localStorage.setItem("data", JSON.stringify(data));
					//页面跳转
					location.href = 'book.html'
				}
			}
		</script>
	</body>
</html>